home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 21
/
Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso
/
Aminet
/
mus
/
midi
/
MusicXRexxMacs.lha
/
macros
/
COPY.mxe
next >
Wrap
Text File
|
1997-02-10
|
2KB
|
126 lines
/* copy */
/* © Dick Doyle */
options results
MXSLIDER "Nº of Copies,1,99,1"
MXREQUEST "COPY,YES"
if result == 0 then exit
MXPOINTER "sleepy"
MXVALUE 1
times = result
GETBARDATA
if BARDATA.SELECT == 'NONE' then do
MXREPORT "You must select some notes!"
exit
end
if BARDATA.SELECT == 'MARK' then
SIGNAL MK
if BARDATA.SELECT == 'SELECT' then
SIGNAL ST
MK:
BEGINSCAN 'selected'
if result ~= 0 then do forever
nob = BARDATA.STOP.BARS - BARDATA.START.BARS
NEXTEVENT
if result == 0 then break
if EVENT.TYPE == 'NOTE' then
do i = 1 to times
EVENT.START.BARS = EVENT.START.BARS + nob
EVENT.STOP.BARS = EVENT.STOP.BARS + nob
ADDEVENT
end
end
ENDSCAN
BEGINSCAN 'all'
if result ~= 0 then do forever
NEXTEVENT
if result == 0 then break
newend = times * nob + nob
if EVENT.TYPE == 'END' then do
EVENT.START.BARS = newend + (EVENT.START.BARS - nob)
end
REPLEVENT
end
ENDSCAN
MXPOINTER "normal"
EXIT
ST:
BEGINSCAN 'selected'
if result ~= 0 then do forever
nob = (BARDATA.STOP.BARS +1) - BARDATA.START.BARS
NEXTEVENT
if result == 0 then break
if EVENT.TYPE == 'NOTE' then
do i = 1 to times
EVENT.START.BARS = EVENT.START.BARS + nob
EVENT.STOP.BARS = EVENT.STOP.BARS + nob
ADDEVENT
end
end
ENDSCAN
BEGINSCAN 'all'
if result ~= 0 then do forever
NEXTEVENT
if result == 0 then break
newend = times * nob + nob
if EVENT.TYPE == 'END' then do
EVENT.START.BARS = newend + (EVENT.START.BARS - nob)
end
REPLEVENT
end
ENDSCAN
MXPOINTER "normal"
EXIT